/**
 * WebSocket API
 * 提供WebSocket连接和消息处理的接口
 */
import webSocketService from '@/utils/websocket'

// WebSocket服务器地址
const WS_URL = process.env.NODE_ENV === 'production'
    ? 'wss://your-production-domain.com/ws' // 生产环境WebSocket地址
    : 'ws://localhost:8080/ws' // 开发环境WebSocket地址

export const websocketApi = {
    /**
     * 初始化WebSocket连接
     */
    connect() {
        webSocketService.connect(WS_URL)
    },

    /**
     * 关闭WebSocket连接
     */
    disconnect() {
        webSocketService.close()
    },

    /**
     * 发送聊天消息
     * @param {String} to 接收者ID
     * @param {String} content 消息内容
     * @param {String} type 消息类型 (text, image, voice, video)
     * @param {Object} extra 额外信息
     * @returns {Boolean} 发送是否成功
     */
    sendChatMessage(to, content, type = 'text', extra = {}) {
        return webSocketService.sendChatMessage(to, content, type, extra)
    },

    /**
     * 注册消息处理回调
     * @param {Function} callback 回调函数
     */
    onMessage(callback) {
        webSocketService.onMessage(callback)
    },

    /**
     * 移除消息处理回调
     * @param {Function} callback 回调函数
     */
    offMessage(callback) {
        webSocketService.offMessage(callback)
    },

    /**
     * 获取连接状态
     * @returns {Boolean} 是否已连接
     */
    isConnected() {
        return webSocketService.isConnected
    }
}